/**
 * 登录功能集成示例
 * 展示如何在登录页面中集成聊天功能
 */

// 在登录页面的methods中添加以下代码：

export const loginMethods = {
	/**
	 * 用户登录
	 */
	async login() {
		try {
			// 显示登录加载状态
			uni.showLoading({
				title: '登录中...'
			})
			
			// 调用登录API（这里需要替换为实际的登录接口）
			const loginData = {
				username: this.username,
				password: this.password
			}
			
			// 模拟登录API调用
			const response = await this.callLoginApi(loginData)
			
			if (response.code === 200) {
				// 登录成功，使用登录管理器处理后续逻辑
				await this.$login.onLoginSuccess(response.data.userInfo, response.data.token)
				
				// 跳转到主页
				uni.switchTab({
					url: '/pages/index/index'
				})
				
				uni.showToast({
					title: '登录成功',
					icon: 'success'
				})
				
			} else {
				uni.showToast({
					title: response.message || '登录失败',
					icon: 'none'
				})
			}
			
		} catch (error) {
			console.error('登录失败:', error)
			uni.showToast({
				title: '登录失败，请重试',
				icon: 'none'
			})
		} finally {
			uni.hideLoading()
		}
	},
	
	/**
	 * 用户登出
	 */
	async logout() {
		try {
			uni.showModal({
				title: '提示',
				content: '确定要退出登录吗？',
				success: async (res) => {
					if (res.confirm) {
						// 调用登出API（如果需要）
						// await this.callLogoutApi()
						
						// 使用登录管理器处理登出逻辑
						await this.$login.onLogout()
						
						// 跳转到登录页
						uni.reLaunch({
							url: '/pages/register/login'
						})
						
						uni.showToast({
							title: '已退出登录',
							icon: 'success'
						})
					}
				}
			})
		} catch (error) {
			console.error('登出失败:', error)
		}
	},
	
	/**
	 * 模拟登录API调用
	 */
	async callLoginApi(loginData) {
		// 这里需要替换为实际的登录API调用
		return new Promise((resolve) => {
			setTimeout(() => {
				resolve({
					code: 200,
					message: '登录成功',
					data: {
						token: 'mock_token_' + Date.now(),
						userInfo: {
							id: 1,
							username: loginData.username,
							nickname: '测试用户',
							avatar: '/static/images/default-avatar.png'
						}
					}
				})
			}, 1000)
		})
	}
}

// 在页面的onLoad或onShow中检查登录状态：
export const checkLoginStatus = function() {
	const loginStatus = this.$login.checkLoginStatus()
	
	if (loginStatus.isLoggedIn) {
		console.log('用户已登录:', loginStatus.userInfo)
		// 如果聊天功能未启动，可以重新启动
		if (!this.$chat.getConnectionState().isConnected) {
			this.$chat.startChat()
		}
	} else {
		console.log('用户未登录')
		// 可以跳转到登录页面
		// uni.navigateTo({ url: '/pages/register/login' })
	}
} 